package com.lance.answer.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class TestExam {


    @JsonProperty("code")
    private String code;
    @JsonProperty("content")
    private ContentDTO content;
    @JsonProperty("ts")
    private Long ts;

    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        @JsonProperty("total")
        private Integer total;
        @JsonProperty("pages")
        private Integer pages;
        @JsonProperty("items")
        private List<ItemsDTO> items;

        @NoArgsConstructor
        @Data
        public static class ItemsDTO {
            @JsonProperty("createTime")
            private Long createTime;
            @JsonProperty("creator")
            private String creator;
            @JsonProperty("creatorName")
            private String creatorName;
            @JsonProperty("modifyTime")
            private Long modifyTime;
            @JsonProperty("modifier")
            private String modifier;
            @JsonProperty("modifierName")
            private String modifierName;
            @JsonProperty("id")
            private Integer id;
            @JsonProperty("name")
            private String name;
            @JsonProperty("type")
            private Integer type;
            @JsonProperty("academyId")
            private Integer academyId;
            @JsonProperty("openCourseId")
            private Integer openCourseId;
            @JsonProperty("answerTimes")
            private Integer answerTimes;
            @JsonProperty("timesShowAnswer")
            private Integer timesShowAnswer;
            @JsonProperty("totalScore")
            private Integer totalScore;
            @JsonProperty("faceEnterCount")
            private Integer faceEnterCount;
            @JsonProperty("faceEnterRatio")
            private Integer faceEnterRatio;
            @JsonProperty("faceExamCount")
            private Integer faceExamCount;
            @JsonProperty("faceExamRatio")
            private Integer faceExamRatio;
            @JsonProperty("selectTestType")
            private Integer selectTestType;
            @JsonProperty("ruleUid")
            private String ruleUid;
            @JsonProperty("hasAnswer")
            private Integer hasAnswer;
            @JsonProperty("hasSubjective")
            private Integer hasSubjective;
            @JsonProperty("scoreRatio")
            private Integer scoreRatio;
            @JsonProperty("startTime")
            private Long startTime;
            @JsonProperty("endTime")
            private Long endTime;
            @JsonProperty("publishStatus")
            private Integer publishStatus;
            @JsonProperty("paperUidArray")
            private String paperUidArray;
            @JsonProperty("unCompleteCount")
            private Integer unCompleteCount;
            @JsonProperty("optionReorder")
            private Integer optionReorder;
            @JsonProperty("itemReorder")
            private Integer itemReorder;
        }
    }
}
